`:top
Die `!Extended Memory Specification`!, kurz `!XMS`!, wurde von `F33f`_`[Microsoft`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Microsoft]`_`f für `F33f`_`[Windows 2.1`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Microsoft_Windows_2.x]`_`f entwickelt.`:cite-ref-1[`F5bf`_`[1`#cite-note-1]`_`f] Die Spezifikation normiert den Zugriff auf `F33f`_`[Arbeitsspeicher`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Arbeitsspeicher]`_`f unter zu `F33f`_`[MS-DOS`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=MS-DOS]`_`f `F33f`_`[kompatiblem DOS`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=PC-kompatibles_DOS]`_`f oberhalb der 1-MB-Grenze des `F33f`_`[IBM PC`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=IBM_Personal_Computer]`_`f. Dieser Speicher wird als `*extended memory`* bezeichnet, was meist mit „Erweiterter Speicher“ übersetzt wird. Im Gegensatz zu `*expanded memory`*, der beim originalen IBM PC von 1981 (und `F33f`_`[kompatiblen Computern`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=IBM-PC-kompatibler_Computer]`_`f) eine Speicherkarte voraussetzt und dessen Zugriff per `*`F33f`_`[Expanded Memory Specification`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Expanded_Memory_Specification]`_`f`* (EMS) normiert ist, ist Erweiterter Speicher erst ab dem `F33f`_`[80286`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel_80286]`_`f-Prozessor von `F33f`_`[Intel`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel]`_`f, der ab dem `F33f`_`[IBM PC/AT`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=IBM_Personal_Computer/AT]`_`f von 1984 verwendet wird, im Betriebsmodus `F33f`_`[Protected Mode`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Protected_Mode]`_`f nutzbar,`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f] da `F33f`_`[x86-Prozessoren`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=X86-Prozessor]`_`f seit diesem Prozessor mehr Adressleitungen besitzen und somit auch mehr Speicher direkt verwalten können.
Nach einer Übergangszeit, in der auch XMS-Speicher kompatiblen DOS-Anwendungen als EMS-Speicher zur Verfügung gestellt werden konnte, ersetzte XMS EMS vollständig. Beide Speicherarten kommen nur unter DOS zur Anwendung, da auf den moderneren `F33f`_`[32-Bit`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=32-Bit-Architektur]`_`f-`F33f`_`[Betriebssystemen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Betriebssystem]`_`f, die DOS auf dem PC nachfolgten und es ersetzten, das flat memory model verwendet wird, das auf der x86-Architektur mit dem Protected Mode möglich wurde.
>>Contents
• `F0af`_`[Entwicklung`#entwicklung]`_`f
• `F0af`_`[XMS 3.0 „Super Extended Memory“`#xms-3-0-super-extended-memory]`_`f
• `F0af`_`[Zugriffsverfahren`#zugriffsverfahren]`_`f
• `F0af`_`[Probleme`#probleme]`_`f
• `F0af`_`[Siehe auch`#siehe-auch]`_`f
• `F0af`_`[Quellen`#quellen]`_`f
-─
>>Entwicklung
Das Betriebssystem MS-DOS war für den `F33f`_`[Real Mode`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Real_Mode]`_`f gedacht, ein `F33f`_`[16-Bit`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=16-Bit-Architektur]`_`f-Betriebsmodus der `F33f`_`[x86`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=X86-Prozessor]`_`f-kompatiblen `F33f`_`[Mikroprozessoren`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Mikroprozessor]`_`f, in dem der Hauptspeicherzugriff wie beim `F33f`_`[8086er`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel_8086]`_`f Prozessor erfolgt. In diesem Betriebsmodus kann nur das erste `F33f`_`[Mebibyte`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Mebibyte]`_`f des Hauptspeichers angesprochen werden. Ab dem `F33f`_`[80386`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel_80386]`_`f lässt sich diese Limitierung im undokumentierten `F33f`_`[Unreal Mode`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Unreal_Mode]`_`f umgehen, was allerdings kein eigener Betriebsmodus, sondern als `F33f`_`[Programmiertrick`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Programmiertrick]`_`f zu bezeichnen ist.
Als die ersten `F33f`_`[PC/ATs`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=IBM_Personal_Computer/AT]`_`f von `F33f`_`[IBM`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=IBM]`_`f ausgeliefert wurden, waren diese mit dem `F33f`_`[80286er`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel_80286]`_`f Prozessor versehen, der mehr Hauptspeicher ansprechen konnte. So kamen mit der Zeit auch PCs auf den Markt, die mit mehr als 1 MiB Hauptspeicher ausgerüstet waren. Inzwischen waren die 640 KB, die unter DOS für Anwendungsprogramme nutzbar waren, für viele Zwecke bereits zu klein geworden. Der Zugriff auf den erweiterten Speicher war jedoch schwierig, da der Prozessor hierfür in den `F33f`_`[Protected Mode`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Protected_Mode]`_`f geschaltet werden musste. Vom `F33f`_`[BIOS`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=BIOS_(IBM_PC)]`_`f wurde zwar eine Funktion (über den `F33f`_`[Software-Interrupt`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Softwareinterrupt]`_`f 15hex) angeboten, mit der Speicherbereiche in den erweiterten Speicher kopiert werden konnte, doch der Umgang damit war umständlich und riskant. Auch gab es keinerlei Zugriffskontrolle, falls mehrere Programme auf den Speicher zugreifen wollten.
Deshalb wurde `F33f`_`[1988`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=1988]`_`f von den Firmen `F33f`_`[Lotus Development Corp.`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Lotus_Development_Corporation]`_`f, `F33f`_`[Intel`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel]`_`f Corp., `F33f`_`[Microsoft`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Microsoft]`_`f Corp. und AST Research Inc. eine Spezifikation erarbeitet, die den Zugriff auf den erweiterten Speicher steuern sollte.
>>>XMS 3.0 „Super Extended Memory“
Die in XMS Version 1 und 2 definierten XMS-Funktionen benutzten 16-Bit-Werte, um Blockgrößen (in Kilobyte) anzugeben, was ausreichte, um maximal 64 MiB anzusprechen.
1991 wurde die XMS 3.0 veröffentlicht, die den Zugriff auf mehr als 64 MiB Hauptspeicher möglich machte. Dies wurde auch `*Super Extended Memory`* genannt`:cite-ref-3[`F5bf`_`[3`#cite-note-3]`_`f]. Die Funktionen nutzten 32-Bit-Register, die erst ab dem 386er Prozessor zur Verfügung standen, was aber kein Problem darstellt, da auf 286er Prozessoren generell nur maximal 16 MiB Hauptspeicher adressierbar war.
>>Zugriffsverfahren
Für den Zugriff auf den erweiterten Speicher nach XMS ist ein spezieller `F33f`_`[Treiber`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Gerätetreiber]`_`f, der `*extended memory manager`* (XMM) zuständig. Über diesen können sich Anwendungsprogramme, aber auch andere Gerätetreiber, Speicherbereiche im erweiterten Speicher reservieren lassen, Daten vom `F33f`_`[konventionellen Speicher`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Konventioneller_Speicher]`_`f dort hinein und später wieder zurück kopieren, sowie den Speicher nach Gebrauch wieder freigeben. Unter MS-DOS heißt dieser Treiber `B100`F9d9`F33f`_`[HIMEM.SYS`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=HIMEM.SYS]`_`f`f`b und muss beim Hochfahren des Rechners geladen werden. Unter anderen MS-DOS-kompatiblen Betriebssystemen heißt dieser Treiber teilweise anders und ist bisweilen auch mit einem `*Expanded Memory Manager`* (wie z. B. `B100`F9d9`F33f`_`[EMM386.EXE`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=EMM386.EXE]`_`f`f`b), der `F33f`_`[EMS`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Expanded_Memory_Specification]`_`f bereitstellt, verknüpft.
Über den Software-Interrupt 2Fhex kann der Einsprungpunkt für die Service-Routine des XMM ermittelt werden, über die der XMM seine Dienste anbietet.
Der Zugriff auf Speicherbereiche im XMS geschieht über sogenannte `*Handles`*, die der XMM beim Allozieren eines Speicherblocks zurückgibt. Um Speicherblöcke zwischen dem XMS und dem `*konventionellen Speicher`* zu kopieren, wird das spezielle XMS-Handle 000016 benutzt, um Speicheradressen im konventionellen Speicher anzugeben. Die XMS-Handles waren eine knappe Ressource, da der XMM für jedes Handle Verwaltungsdaten vorrätig halten musste. Üblich waren 32 Handles, die Anzahl konnte je nach XM auf bis zu 256 hochgesetzt werden`:cite-ref-4[`F5bf`_`[4`#cite-note-4]`_`f].
>>Probleme
Da zum Kopieren von Daten zwischen dem DOS-Speicher und dem erweiterten Speicher vorübergehend in den Protected Mode gewechselt werden muss, ist der Zugriff auf diesen Speicher vergleichsweise langsam, insbesondere auf 80286er CPUs, da diese zum Zurückschalten in den Real Mode einen Prozessor-`F33f`_`[Reset`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Reset]`_`f benötigen, der ebenfalls recht lange dauert. Auch das prinzipiell kaum sinnvolle Hin- und Herkopieren von Daten zwischen verschiedenen Speicherbereichen bremst XMS merklich aus. Auf einem 80286er ist daher `F33f`_`[EMS`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Expanded_Memory_Specification]`_`f-Speicher schneller als XMS-Speicher, da das Einblenden eines 64-KiB-EMS-Fensters in den `F33f`_`[UMA`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Upper_Memory_Block]`_`f-Bereich nur wenige Male und durch Hardware, wie den NEAT-Chipsatz, geschieht und dann der 80286 auf dieses 64-KiB-Fenster vom Real Mode aus, ohne in den Protected Mode schalten zu müssen, direkt zugreifen kann. Der auf dem 286er langsame Umschaltprozess vom Real Mode in den Protected Mode und zurück entfällt damit weitgehend.`:cite-ref-5[`F5bf`_`[5`#cite-note-5]`_`f]
Ab dem `F33f`_`[i386`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel_80386]`_`f kann der erweiterte Speicher alternativ auch dazu genutzt werden, um so genanntes `*expanded memory`* (EMS, siehe: `F33f`_`[Expanded Memory Specification`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Expanded_Memory_Specification]`_`f) bereitzustellen. Da programmtechnisch die Benutzung von EMS-Speicher einfacher und auf dem 286er schneller als die von XMS-Speicher ist, waren DOS-Programme, die EMS-Speicher benutzten, häufiger. Viele speicherhungrige Programme (z. B. Spiele) konnten jedoch mit beiden Speichererweiterungen umgehen.
>>Siehe auch
• `F33f`_`[Expanded Memory Specification`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Expanded_Memory_Specification]`_`f
• `F33f`_`[High Memory Area`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=High_Memory_Area]`_`f
• `F33f`_`[Upper Memory Block`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Upper_Memory_Block]`_`f
• `F33f`_`[Address Windowing Extension`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Address_Windowing_Extension]`_`f
>>Quellen
`:cite-note-1`!1.`! `F0af`_`[↑`#cite-ref-1]`_`f Barry Simon: Memory Managers Open Up New Frontiers. In: `F33f`_`[PC Magazine`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=PC_Magazine]`_`f. Band 11, Nr. 3. `F33f`_`[Ziff Davis`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Ziff_Davis]`_`f, 11. Februar 1992, `F33f`_`[ISSN`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Internationale_Standardnummer_für_fortlaufende_Sammelwerke]`_`f 0888-8507, S. 210, Memory Menagerie (englisch, eingeschränkte Vorschau in der Google-Buchsuche): “When Microsoft introduced Windows, Version 2.10, it devised an extended memory specification known as XMS.”
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f Barry Simon: Memory Managers Open Up New Frontiers. In: `F33f`_`[PC Magazine`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=PC_Magazine]`_`f. Band 11, Nr. 3. `F33f`_`[Ziff Davis`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Ziff_Davis]`_`f, 11. Februar 1992, `F33f`_`[ISSN`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Internationale_Standardnummer_für_fortlaufende_Sammelwerke]`_`f 0888-8507, S. 208, Memory Management: Defining the Terms (englisch, eingeschränkte Vorschau in der Google-Buchsuche): “extended memory – The memory above 1MB in a PC that is not configured for expanded memory. It can be used only by a 286, 386, or 486 processor running in protected mode. Extended memory was introduced on the IBM AT in 1984 but was initially used only for RAM disks. In recent years, Microsoft Corp.’s extended memory specification (XMS), which was developed for Microsoft Windows 2.1, has become the preferred way to use extended memory.”
`:cite-note-3`!3.`! `F0af`_`[↑`#cite-ref-3]`_`f https://www.phatcode.net/res/219/files/xms30.txt
`:cite-note-4`!4.`! `F0af`_`[↑`#cite-ref-4]`_`f https://www.i8086.de/dos-befehle/himem-sys.html
`:cite-note-5`!5.`! `F0af`_`[↑`#cite-ref-5]`_`f https://www.pcplayer.de/archiv/data/1993/1993-02.pdf Extended Memory und Expanded Memory Mehr RAM PC Player 1992-02 S. 100
`c`F0af`_`[↑ Back to top`#top]`_`f`a